-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move the SymbolFinder API over to SymbolAndProjectId #18560
Conversation
Tagging @dotnet/roslyn-ide |
Checking in to unblock OOP work. Let me know if there are things you'd like me to change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👎 Some comments to clean up at least, also consider public APIs where appropriate.
|
||
/// <summary> | ||
/// Find the declared symbols from either source, referenced projects or metadata assemblies with the specified name. | ||
/// </summary> | ||
internal static async Task<ImmutableArray<SymbolAndProjectId>> FindAllDeclarationsAsync( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be made public, since the original API that you are marking as legacy was public?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally, sure. But that would be a ton of work (especially given that SymbolAndProjectId is not public). It is out of scope of this work (afaict) to make this public, and i would not want to gate the OOP work on that.
|
||
#region Current API | ||
|
||
// This region contains the current FindDeclaratins APIs. The current APIs allow for OOP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spelling FindDeclarati*o*ns
#region Current API | ||
|
||
// This region contains the current FindDeclaratins APIs. The current APIs allow for OOP | ||
// implementation and will defer to the oop server if it is available. If not, it will |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OOP should be captilized consistently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Although, it may be better to avoid the acronym overall.
// implementation and will defer to the oop server if it is available. If not, it will | ||
// compute the results in process. | ||
|
||
internal static async Task<ImmutableArray<SymbolAndProjectId>> FindSourceDeclarationsWithNormalQueryInLocalProcessAsync( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Public?
Also, this is the "InLocalProcess" so it isn't clear that the comment makes sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not want to make these APIs public yet. At the verry least, i'd want to make sure they were actually the right API to expose. We're stuck in the position that the old APIs are public, and now we can't do anything about that. I don't want to be in that position again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The name has been fixed in the later PR. it follow the 'InCurrentProcess' naming pattern.
This enables having htis API run OOP in the future.